package com.wuad.platformwuad.module.study.Timer;

import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import static java.util.concurrent.Executors.newScheduledThreadPool;


/**
 * 周期性的执行某个方法
 *
 * @author wuad
 */
public class TimingTest {

    public static class dingshi {
        public static void main(String[] args) {
//        ScheduledExecutorService service = Executors.newScheduledThreadPool(10);
            ScheduledExecutorService service = newScheduledThreadPool(10);

            long initialDelay = 1;
            long period = 1;
            // 从现在开始1秒钟之后，每隔1秒钟执行一次  scheduleAtFixedRate（run，delay,period,TimeUnit.SECONDS）
            // run为具体要执行的方法，
            // delay为延迟多少时间来执行run方法，
            // period为间隔多长时间来重复执行run方法，
            // TimeUnit.SECONDS为delay和period的单位是秒
            service.scheduleAtFixedRate(new Runnable(){
                @Override
                public void run() {
                    System.out.println("11111111");
                }

            }, initialDelay, period, TimeUnit.SECONDS);

            // 从现在开始2秒钟之后，每隔2秒钟执行一次job2
            service.scheduleWithFixedDelay(new Runnable(){
                @Override
                public void run() {
                    System.out.println("222222222");
                }
            }, 1, 2, TimeUnit.SECONDS);
        }
    }

}
